home *** CD-ROM | disk | FTP | other *** search
/ C!T ROM 3 / ct-rom iiib.zip / ct-rom iiib / WINDOWS / DIVERSEN / WINE02BX / EDEBUG.ELC < prev    next >
Text File  |  1993-03-28  |  52KB  |  467 lines

  1. ;;; compiled by jwz@thalidomide on Tue Aug 18 17:19:16 1992
  2. ;;; from file /u/jwz/emacs19/lisp/packages/edebug.el
  3. ;;; emacs version 19.2.2 Lucid.
  4. ;;; bytecomp version 2.08;  2-aug-92.
  5. ;;; optimization is on.
  6. ;;; this file uses opcodes which do not exist in Emacs18.
  7.  
  8. (if (and (boundp 'emacs-version)
  9.      (or (and (boundp 'epoch::version) epoch::version)
  10.          (string-lessp emacs-version "19")))
  11.     (error "This file was compiled for Emacs19."))
  12.  
  13. (defvar edebug-all-defuns nil "\
  14. *If non-nil, all defuns and defmacros evaluated will use edebug.
  15. eval-defun without prefix arg and eval-region will use edebug-defun.
  16.  
  17. If nil, eval-region evaluates normally, but eval-defun with prefix arg
  18. uses edebug-defun.  eval-region is called by eval-defun, eval-last-sexp,
  19. and eval-print-last-sexp.
  20.  
  21. You may wish to make this variable local to each elisp buffer by calling
  22. (make-local-variable 'edebug-all-defuns) in your emacs-lisp-mode-hook.
  23. You can use the function edebug-all-defuns to toggle its value.")
  24. (defvar edebug-eval-macro-args nil "\
  25. *If non-nil, edebug will assume that all macro call arguments for
  26. macros that have no edebug-form-spec may be evaluated, otherwise it
  27. assumes they will not be evaluated.  To specify exceptions for macros
  28. that have some arguments evaluated and some not, you should specify an
  29. edebug-form-spec")
  30. (defvar edebug-stop-before-symbols nil "\
  31. *Non-nil causes edebug to stop before symbols as well as after.
  32. In any case, it is possible to stop before a symbol with a breakpoint or
  33. interrupt.")
  34. (defvar edebug-save-windows t "\
  35. *If non-nil, save and restore window configuration on edebug calls.
  36. It takes some time to save and restore, so if your program does not care
  37. what happens to the window configurations, it is better to set this
  38. variable to nil.")
  39. (defvar edebug-save-displayed-buffer-points nil "\
  40. *If non-nil, save and restore the points of all displayed buffers.
  41.  
  42. Saving and restoring buffer points is necessary if you are debugging
  43. code that changes the point of a buffer which is displayed in a
  44. non-selected window.  If edebug or the user then selects the
  45. window, the buffer's point will be changed to the window's point.
  46.  
  47. Saving and restoring is an expensive operation since it visits each
  48. window and each displayed buffer twice for each edebug call, so it is
  49. best to avoid it if you can.")
  50. (defvar edebug-initial-mode 'step "\
  51. *Global initial mode for edebug, if non-nil.
  52. This is used when edebug is first entered for each recursive-edit level.
  53. Possible values are nil (meaning keep using edebug-mode), step, go,
  54. Go-nonstop, trace, Trace-fast, continue, and Continue-fast.")
  55. (defvar edebug-trace nil "\
  56. *Non-nil if edebug should show a trace of function entry and exit.
  57. Tracing output is displayed in a buffer named *edebug-trace*, one
  58. function entry or exit per line, indented by the recursion level.  You
  59. can customize by replacing functions edebug-print-trace-entry and
  60. edebug-print-trace-exit.")
  61. (fset 'edebug-which-function #[nil "è└ ê┴ ê┬├!ê─p!┼>¼ä╞╟!ê─p!)ç" [end-of-defun beginning-of-defun down-list 1 read (defun defmacro) error "Not in defun or defmacro."] 2 "\
  62. Return the symbol of the function we are in."])
  63. (fset 'edebug-last-sexp #[nil "└è┴┬!ê`)`{!@ç" [read-from-string forward-sexp -1] 3 "\
  64. Return the last sexp before point in current buffer.
  65. Assumes elisp syntax is active."])
  66. (fset 'edebug-window-list #[nil "└ ëC├    !ë    =¼ï \nB├ !ë¬q\nƒ+ç" [selected-window first-window window-list next-window next] 3 "\
  67. Return a list of windows, in order of next-window."])
  68. (fset 'edebug-get-emacs-displayed-buffer-points #[nil "è└ ┬    !──     =¼û╟ !ëqê`BB┬ !ë¬f-ç" [selected-window first-window next-window next nil buffer-point-list buffer window-buffer] 3 "\
  69. Return a list of buffer point pairs, for all displayed buffers."])
  70. (fset 'edebug-set-buffer-points #[(buffer-points) "p┴┬ \"êq)ç" [current-buffer mapcar #[(buf-point) "└    @!¡ç    @qê    Abç" [buffer-name buf-point] 2] buffer-points] 3 "\
  71. Restore the buffer-points created by edebug-get-displayed-buffer-points."])
  72. (fset 'edebug-two-window-p #[nil "└ ?¡ë┴ ┬ë┴ !!=ç" [one-window-p selected-window next-window] 4 "\
  73. Return t if there are two windows."])
  74. (fset 'edebug-macrop #[(object) "9½ï┴!½åKë¬r<¡ì@┬=¡ç├A!¡üç" [object fboundp macro edebug-functionp] 3 "\
  75. Return the macro named by OBJECT, or nil if it is not a macro."])
  76. (fset 'edebug-functionp #[(object) "9½ï┴!½åKë¬r┬!¼É<¡ì@├=¡çA@<¡üç" [object fboundp subrp lambda] 3 "\
  77. Returns the function named by OBJECT, or nil if it is not a function."])
  78. (fset 'edebug-sort-alist #[(alist function) "└    ┬\"ç" [sort alist #[(e1 e2) "    @\n@\"ç" [function e1 e2] 3]] 3 "\
  79. Return the ALIST sorted with comparison function FUNCTION.
  80. This uses 'sort so the sorting is destructive."])
  81. (put 'edebug-save-restriction 'edebug-form-spec t)
  82. (fset 'edebug-save-restriction '(macro . #[(&rest body) "└┴┬├─\"╞EEç" [let ((edebug:s-r-beg (point-min-marker)) (edebug:s-r-end (point-max-marker))) unwind-protect append (progn) body (save-excursion (set-buffer (marker-buffer edebug:s-r-beg)) (narrow-to-region edebug:s-r-beg edebug:s-r-end))] 6 "\
  83. Evaluate BODY while saving the current buffers restriction.
  84. BODY may change buffer outside of current restriction, unlike
  85. save-restriction.  BODY may change the current buffer,
  86. and the restriction will be restored to the original buffer,
  87. and the current buffer remains current.
  88. Return the result of the last expression in BODY."]))
  89. (defvar epoch::version nil "\
  90. This will be predefined as non-nil in epoch.")
  91. (fset 'def-edebug-func '(macro . #[(edebug-func epoch-func emacs-func) "└┴\nD├─┼┴DD┼┴DDFEç" [fset quote edebug-func if epoch::version symbol-function epoch-func emacs-func] 8 "\
  92. Define a function as either the epoch version or the emacs version."]))
  93. (fset 'edebug-get-epoch-displayed-buffer-points #[nil "└┬├─┼!\"ê    )ç" [nil buffer-point-list mapcar #[(screen) "└    !êè┬ ─ !ë =¼æ╞!`BB─!ë¬k+ç" [select-screen screen selected-window first-window next-window next window-buffer buffer-point-list] 3] epoch::screen-list unmapped] 4 "\
  94. Return a list of buffer point pairs, for all displayed buffers."])
  95. (byte-code "└    ½ä┬K¬é├KMç" [edebug-get-displayed-buffer-points epoch::version edebug-get-epoch-displayed-buffer-points edebug-get-emacs-displayed-buffer-points] 2)
  96. (fset 'edebug-pop-to-buffer #[(buffer) "└    !ë½å├\n!ꬺ ½î┼╞╟    \"@«é╚ !ê╔ ½â╩ ê├╦ !ê╠═     \"ê╬═ ╧\"ê)    qç" [edebug-get-buffer-window buffer edebug-window select-window epoch::version select-screen symbol-buffer-value allowed-screens epoch::current-screen one-window-p split-window next-window set-window-buffer selected-window set-window-hscroll 0] 5 "\
  97. Like pop-to-buffer, but select a window that buffer was shown in.
  98. If running epoch, use the same screen too."])
  99. (fset 'edebug-current-screen-configuration #[nil "└┴!┬ p ╞ \"B╟╚\"╔ !ê qê+ç" [epoch::screen-list unmapped epoch::get-screen current-buffer current-screen screen-list delq mapcar #[(screen) "┴!ê┬ Bç" [screen epoch::select-screen current-window-configuration] 3] epoch::select-screen] 4 "\
  100. Return an object recording the current configuration of Epoch screen-list.  
  101. The object is a list of pairs of the form (SCREEN .  CONFIGURATION)
  102. where SCREEN has window-configuration CONFIGURATION.  The current
  103. screen is the head of the list."])
  104. (byte-code "└    ½ä┬K¬é├KMç" [edebug-current-window-configuration epoch::version edebug-current-screen-configuration current-window-configuration] 2)
  105. (fset 'edebug-set-screen-configuration #[(sc) "└┴\n\"ê├\n@@!¡à─\n@@!ç" [mapcar #[(screen-conf) "└    @!¡ë┬    @!ê├    A!ç" [epoch::screen-p screen-conf epoch::select-screen set-window-configuration] 2] sc epoch::screen-p epoch::select-screen] 3 "\
  106. Set the window-configuration for all the screens in SC.
  107. Set the current screen to be the head of SC."])
  108. (byte-code "└    ½ä┬K¬é├KMê─    ½ä┼K¬é╞KMê╟╚Mê╔    ½ä╟K¬é╩KMê╦╠Mê═    ½ä╦K¬é╬KMç" [edebug-set-window-configuration epoch::version edebug-set-screen-configuration set-window-configuration edebug-get-buffer-window epoch::get-buffer-window get-buffer-window edebug-epoch-sit-for #[(arg) "└ ê┴\n!ç" [epoch::dispatch-events sit-for arg] 2] edebug-sit-for sit-for edebug-epoch-input-pending-p #[nil "└ ê┴ ç" [epoch::dispatch-events input-pending-p] 1] edebug-input-pending-p input-pending-p] 2)
  109. (fset 'edebug-install-custom-print-funcs #[nil "└┴!ê┬├Mê─┴Mê┼╞Mê╟╚Mç" [require custom-print edebug-prin1 custom-prin1 edebug-print edebug-prin1-to-string custom-prin1-to-string edebug-format custom-format] 2 "\
  110. Replace edebug print functions with custom versions.
  111. Updating the custom print functions, or changing print-length,
  112. print-level, print-circle, custom-print-list or custom-print-vector
  113. have immediate effect." nil])
  114. (fset 'edebug-reset-print-funcs #[nil "└┴!ê┬├KMê─┼KMê╞╟KMê╚╔KMç" [require custom-print edebug-prin1 CP::internal-prin1 edebug-print CP::internal-print edebug-prin1-to-string CP::internal-prin1-to-string edebug-format CP::internal-format] 2 "\
  115. Replace edebug custom print functions with internal versions." nil])
  116. (byte-code "└┴KMê┬├KMê─┼KMê╞╟KMç" [edebug-prin1 prin1 edebug-print print edebug-prin1-to-string prin1-to-string edebug-format format] 2)
  117. (fset 'edebug-all-defuns #[nil "?┴┬½â├¬ü─\"ç" [edebug-all-defuns message "Edebugging is %s." "on" "off"] 3 "\
  118. Toggle edebugging of all defuns and defmacros,
  119. not including those evaluated in the minibuffer, or during load." nil])
  120. (byte-code "└┴!¼à┴┬KMê└ç" [fboundp edebug-emacs-eval-defun eval-defun] 2)
  121. (fset 'eval-defun #[(edebug-debug-it) "?    ?=?┬├!)ç" [edebug-debug-it edebug-all-defuns edebug-emacs-eval-defun nil] 2 "\
  122. Edebug replacement for eval-defun.  Print value in the minibuffer.
  123. Evaluate the top-level form that point is in or before.  Note:
  124. eval-defun normally evaluates any top-level form, not just defuns.  
  125.  
  126. Here are the differences from the standard eval-defun:  If the prefix
  127. argument is the same as edebug-all-defuns (nil or non-nil), evaluate
  128. normally; otherwise edebug-defun is called to wrap edebug calls around
  129. evaluatable expressions in the defun or defmacro body.  Also, the
  130. value printed by edebug-defun is not just the function name." "P"])
  131. (byte-code "└┴!¼à┴┬KMê└ç" [fboundp edebug-emacs-eval-region eval-region] 2)
  132. (fset 'eval-region #[(edebug-e-r-start edebug-e-r-end &optional edebug-e-r-output) "«ü┴`pp┬  ─ô─    \n bê╠ ê`W½⌡½Ü╬ ╧=½öè╨uê╤ ╥>)½ë╙ ê╘╨!ê¬╩╬ ╧=½ôè╨uê╤ ╒>)½ê╓╫ ╪┘ #ê╤ èqê┌!p)½₧B\n▄=½å▌!ê¬î▐▀!ê▌!ê▐▀!ê`]╠ ê`^bꬼêqê    bê.─ç" [edebug-e-r-output symbolp make-marker edebug-e-r-end nil edebug-e-r-val edebug-e-r-end-marker edebug-e-r-inside-buf edebug-e-r-buf edebug-e-r-pnt standard-output edebug-e-r-start edebug-skip-whitespace edebug-all-defuns edebug-next-token-class lparen 1 edebug-read-sexp (defun defmacro) edebug-defun forward-sexp (defun defmacro) put edebug-which-function edebug point-marker eval values t prin1 princ "\n"] 7 "\
  133. Edebug replacement for eval-region.
  134. Like eval-region, but call edebug-defun for defuns or defmacros.
  135. Also, this eval-region does not narrow to the region and
  136. if an error occurs, point is left at the error." "r"])
  137. (byte-code "└┴!¼à┴┬KMê└ç" [fboundp edebug-emacs-eval-current-buffer eval-current-buffer] 2)
  138. (fset 'eval-current-buffer #[(&optional edebug-e-c-b-output) "└ed    #ç" [eval-region edebug-e-c-b-output] 4 "\
  139. Call eval-region on the whole buffer." nil])
  140. (fset 'edebug-defun #[nil "`└├ ê─ ê┼╞╟Å*ç" [nil def-name starting-point end-of-defun beginning-of-defun err (byte-code "└ë├─!ê┼ ╞\n╟>¼å╚╔\n\"¬ä\n╩ B!╦╠    \"êbê    *ç" [nil def-name def-kind down-list 1 edebug-read-sexp eval (defun defmacro) edebug-syntax-error "%s is not a defun or defmacro." edebug-func-form message "edebug: %s" starting-point] 4) ((invalid-read-syntax (byte-code "èbê┴┬!ê)├─A\"ç" [starting-point set-mark-command nil message "Syntax error: %s" err] 3)))] 3 "\
  141. Evaluate defun or defmacro, like eval-defun, but with edebug calls.
  142. Print its name in the minibuffer and leave point where it is,
  143. or if an error occurs, leave point after it with mark at the original point." nil])
  144. (fset 'edebug-func-form #[nil "└ëëëë┴└ëëë┬    \n  ╬ ╧ ë9¼å╨╤\"ê╧ ë <¼å╨╥ \"ê`╙ ╘=½å╧  `╙ ╒=½ö╓uê╧ ╫=½ï╫╪ B\n╓uê` bê╔     ┘┌█G▄\"▐▀\"ê)#ê┘α█G┴\"#ê┘ß└Γƒ!E#ê  \nπΣDσµτΦτΘΩ !\"\"\"δσ∞    \"DF». ç" [nil 0 t parse-sexp-ignore-comments tmp-point edebug-func-mark edebug-before-to-after-alist edebug-offset-list edebug-offset-index edebug-forms defun-interactive def-docstring def-args def-name point-marker edebug-read-sexp edebug-syntax-error "Bad name: %s" "Bad arg list: %s" edebug-next-token-class string lparen 1 interactive edebug-interactive-form put edebug-after-index make-vector -1 after-vector mapcar #[(pair) "    @    AIç" [after-vector pair] 3] edebug-freq-count edebug vconcat edebug-enter quote append (list) delq &rest &optional copy-sequence function (lambda nil)] 15 "\
  145. Process the defun form starting before defun or defmacro."])
  146. (fset 'edebug-forms #[nil "└┴!ç" [edebug-sexp-list t] 2 "\
  147. Process a list of forms."])
  148. (fset 'edebug-sexps #[nil "└┴!ç" [edebug-sexp-list nil] 2 "\
  149. Process a list of sexps, unevaluated."])
  150. (fset 'edebug-sexp-list #[(debuggable) "└┬ ├=¼Ä ½ä┼ ¬é╞     B¬l    ƒ)ç" [nil sexp-list edebug-next-token-class rparen debuggable edebug-form edebug-read-sexp] 2 "\
  151. Return an edebug form built from the sexp list following point in the
  152. current buffer. If DEBUGGABLE then wrap edebug calls around each sexp.
  153. The sexp list does not start with a left paren; we are already in the list.
  154. Leave point at (before) the trailing right paren."])
  155. (fset 'edebug-increment-offset #[nil "T`    Z\nBëç" [edebug-offset-index edebug-func-mark edebug-offset-list] 2])
  156. (fset 'edebug-make-edebug-form #[(index form) "└    9½â\n½à├ D¬ü    E BB╟ êç" [edebug-after form edebug-stop-before-symbols edebug-before index edebug-offset-index edebug-before-to-after-alist edebug-increment-offset] 3 "\
  157. Return the edebug form for the current function at offset INDEX given FORM.
  158. Looks like: (edebug-after (edebug-before INDEX) FORM).
  159. Also increment the offset index."])
  160. (fset 'edebug-form #[nil "┬┬┼ ê╞ ê╟ ë╚=½ç╔    ╩ \"¬£ ╦=½ò╠ ë═>¼è º¼å╔     \"¬à ¬é╠ +ç" [edebug-offset-index index nil form class edebug-skip-whitespace edebug-increment-offset edebug-next-token-class lparen edebug-make-edebug-form edebug-list-form symbol edebug-read-sexp (nil t)] 4 "\
  161. Return the debug form for the following form.  Add the point offset
  162. to the edebug-offset-list for the function and move point to
  163. immediately after the form."])
  164. (fset 'edebug-list-form #[nil "└ë├uê─ ë┼=½à╞ ¬ù\n╟=½à╚ ¬ì\n╔=½ä└¬ä╩╦!ê    ¡░    ë9½¿    ╠Në½É9½à ¬ô╬!¬ì╧    !½å╨!¬é╥ )¬é╥ B─ ╔=½à├uê¬ä╩╙!ê*ç" [nil head class 1 edebug-next-token-class symbol edebug-read-sexp lparen edebug-anonymous-form rparen edebug-syntax-error "Head of list must be a symbol or lambda expression." edebug-form-spec form edebug-interpret-form-spec edebug-macrop edebug-sexp-list edebug-eval-macro-args edebug-forms "Too many arguments."] 4 "\
  165. Return an edebug form built from the list form that follows point.
  166. Insert debug calls as appropriate to the form.  Start with point before
  167. the left paren; leave point after the right paren."])
  168. (fset 'edebug-interpret-form-spec #[(specs) "└┬├ìë½ä┼ !ê    *ç" [nil edebug-form no-match (byte-code "└    ┬\"┬ç" [edebug-interpret-form-spec1 specs nil edebug-form] 3) error edebug-syntax-error] 3 "\
  169. Parse the macro arguments that follow based on SPECS.  
  170. SPECS describes the types of the arguments of a list form.  Each of the SPECS
  171. is processed left to right, in the same order as the arguments of the
  172. list form.  See the edebug documentation for more details.  The SPECS
  173. may be one of the following:
  174.  
  175.  sexp - An unevaluated sexp (it may be an atom or list).
  176.  form - An evaluated sexp.
  177.  function - A function argument may be a quoted symbol or lambda
  178.     expression (using quote or function) or a form (that evaluates
  179.     to a function or lambda expression).
  180.  
  181.  foo -  Any other symbol should be the name of a function; this
  182.     function is called on the argument as a predicate and an error
  183.     is signaled if the predicate fails.  Standard predicates
  184.      include symbolp, integerp, stringp, vectorp, and atom.
  185.      An atom is an unevaluated number, string, symbol, or vector.
  186.  
  187.  &optional - All following specs in the list may or may not appear. 
  188.  &rest - All following specs are repeated zero or more times.
  189.     This is an extension of the normal meaning of &rest.
  190.  &or -  Each of the following specs are alternatives, processed left to
  191.     right until one succeeds.
  192.  
  193.  (...) - A sublist of the same format as the top level, processed recursively.
  194.     Special case: if the car of the list is quote, the argument must match
  195.     the quoted sexp (see example below of 'for macro).
  196.  
  197.  [...] - A sublist of the same format as the top level, processed recursively.
  198.     It is processed like (...) except the matched arguments are inserted
  199.     in-line into the arguments matched by the containing list.  This may be
  200.     used for grouping to get one list element of the higher level list.
  201. "])
  202. (fset 'edebug-interpret-form-spec1 #[(specs in-line) "┴ëëëëëëë    \n\n½ⁿ╦ ë╠=¼≤\n@    \nA\n\n¡é\n    ═>½╝    ─=½æ\n¼â ½ï╬╧\n½â┬¬ü├\"ê    ├=½ç\n½ä╬╨!ê    \nLê\n@    \nA\n\n¡é\n¬>`╤╥ì½Æ\n¼ï ¼ê╘╤\"ê¬äbê*¬\n½Æ ¼Å ¼î\n@╒>¼à╘╤╓\"ê¼ú╦ ë╠=¼ò\n½ì ¼è ¼ç╘╤╪\"ê¬à╘╤┘\"êƒ.    ç" [specs nil &or &rest &optional was-in-line class form-list form spec speclist edebug-next-token-class rparen (&optional &rest &or) error "&optional doesn't make sense after %s" "&rest doesn't make sense after &or" no-match (byte-code "┴=½å┬ é╜├=½å─ é╜┼=½ï╞╟╚\"╔\né╜<½╒@╦=½£A@ ═=½ê─ ë=¼√╬╧╨╤\"\"ꬱ ╥=½ì╙uê╞╘\"╙uê¬▐ ╦=½ô@╒ܽì╙uê┼╞A╔\"B¬┼╬╧╓\"ê¬╛9½ú╫!½äK¬ä╪┘\"ë─ ë!¼ë╬╧╨█    #\"ê)¬ù▄!½ì╞▌╘\"╔\"╔\n¬à╪▐\"ê\n½î▌    \"╘\n¬å    B ½å╘!╘ \"½ê!¼ä\"!╘ç" [spec form edebug-form sexp edebug-read-sexp function edebug-interpret-form-spec1 (&or ('function &or symbolp ('lambda (&rest symbolp) &rest form)) ('quote &or symbolp ('lambda (&rest symbolp) &rest form)) form) in-line t was-in-line quote class symbol throw no-match format "\"%s\" expected." lparen 1 nil 'quote "List expected." fboundp error "%s is not a function." pred "Predicate %s failed on %s." vectorp append "Bad item in edebug-form-spec: %s" form-list &or speclist &rest] 7) pnt throw (&optional &rest) "Not enough arguments." in-line "Unrecognized argument." "Too many arguments."] 9 "\
  203. Helper for edebug-interpret-form-spec.
  204. If in-line is non-nil, don't reverse the resulting edebug form,
  205. and don't complain about extra arguments."])
  206. (fset 'def-edebug-form-spec '(macro . #[(symbol form) "└┴\nD├ ┼=½â╞¬ë ╟=½â╚¬ü Fç" [put quote symbol 'edebug-form-spec form t 'edebug-forms 0 'edebug-sexps] 5 "\
  207. Set the edebug-form-spec property of SYMBOL according to FORM.  If
  208. FORM is t, set it to edebug-forms.  If 0, set it to edebug-sexps.
  209. Otherwise just use the evaluated FORM.  FORM can evaluate to a symbol,
  210. which should be the name of a function, or a spec list for
  211. edebug-interpret-form-spec."]))
  212. (byte-code "└┴┬├#ê└─┬┼#ê└╞┬╟#ê└╚┬╔#ê└╩┬╦#ê└╠┬═#ê└╬┬╧#ê└╨┬╤#ê└╥┬╙#ê└╘┬╒#ê└╓┬╫#ê└╪┬┘#ê└┌┬█#ê└┌┬▄#ê└▌┬▄#ê└▐┬▀#ç" [put testit edebug-form-spec edebug-forms mapcar (function form) mapconcat (function form form) mapatoms (function &optional form) apply (function &rest form) funcall (function &rest form) for (symbolp 'from form 'to form 'do &rest form) case (form &rest (sexp form)) do ((&rest &or symbolp (symbolp &optional form form)) (form &rest form) &rest body) quote edebug-read-sexp defvar (symbolp &optional form stringp) defconst (symbolp &optional form stringp) defun (symbolp (&rest symbolp) &optional stringp ('interactive &optional &or stringp form) &rest form) edebug-func-form defmacro function (&or symbolp ([&optional 'macro] 'lambda (&rest symbolp) &rest form))] 4)
  213. (fset 'edebug-anonymous-form #[nil "└uê┴ ë├=½ä─ ¬ÿ\n┼=½É┴ ├=¼ä╞╟!ê┼─ B¬â╞╚!)└uêç" [1 edebug-read-sexp head lambda edebug-lambda-form macro edebug-syntax-error "lambda expected." "Anonymous lambda or macro expected."] 3 "\
  214. Return the edebug form for an anonymous lambda or macro.
  215. Point starts before the left paren and ends after it."])
  216. (fset 'edebug-lambda-form #[nil "└┴┬ D├ \"ç" [append lambda edebug-read-sexp edebug-forms] 3 "\
  217. Return the edebug form for the lambda form that follows.
  218. Point starts after the lambda symbol and is moved to before the right paren."])
  219. (byte-code "└┴┬├#ê└─┬┼#ê└┴┬╞#ê└─┬╞#ç" [put let edebug-form-spec ((&rest &or symbolp (symbolp &optional form)) &rest form) let* ((&rest &or symbolp (symbolp &optional form)) &rest form) edebug-let-form] 4)
  220. (fset 'edebug-let-form #[nil "└ëë─ ┼=¼Ä╞ ë½à╟╚!¬╡\n¬▓╔uê─ ë╩=¼ó    ┼=¼ä╞ ¬ö╔uê╦ ─ ╩=¼å╟╠!ê¬â╔uê B¬V╔uê ƒ═ +Bç" [nil class token var-value-list edebug-next-token-class lparen edebug-read-sexp edebug-syntax-error "Bad var list in let." 1 rparen edebug-var-value "Right paren expected in let." edebug-forms] 3 "\
  221. Return the edebug form of the let or let* form.
  222. Leave point before the right paren."])
  223. (fset 'edebug-var-value #[nil "└ ┴ ┬=?¡é├ Dç" [edebug-read-sexp edebug-next-token-class rparen edebug-form] 3 "\
  224. Return the edebug form of the var and optional value that follow point.  
  225. Leave point after the value, if there is one."])
  226. (byte-code "└┴┬├#ê└─┬┼#ê└┴┬╞#ê└─┬╞#ç" [put setq edebug-form-spec (&rest symbolp form) setq-default (&rest symbolp form) edebug-setq-form] 4)
  227. (fset 'edebug-setq-form #[nil "└┬ ├=¼ê─    ┼ \"¬r    )ç" [nil var-value-list edebug-next-token-class rparen append edebug-var-value] 3 "\
  228. Return the edebug form of the setq or setq-default var-value list."])
  229. (byte-code "└┴┬├#ê└┴┬─#ç" [put interactive edebug-form-spec (&optional &or stringp form) edebug-interactive-form] 4)
  230. (fset 'edebug-interactive-form #[nil "└ ┴=?¡ó└ ┬=½ä├ ¬ÿ─┼D╟╚╔╩╦ EDF└ ┴=¼ä╠═!êCç" [edebug-next-token-class rparen string edebug-read-sexp edebug-enter quote def-name 'nil function lambda nil edebug-form edebug-syntax-error "Only first expression used in interactive form."] 7 "\
  231. Return the edebug form of the interactive form."])
  232. (byte-code "└┴┬├#ê└┴┬─#ç" [put cond edebug-form-spec (&rest (form &rest form)) edebug-cond-form] 4)
  233. (fset 'edebug-cond-form #[nil "└ë├ ë─=¼│    ┼=¼ì╞ ë¡â╚╔!)¬£╩uê╦ ├ ─=?¡é╠ B├ ─=¼ä╚═!ê╩uê\nB¬E\nƒ*ç" [nil class value-value-list edebug-next-token-class rparen lparen edebug-read-sexp thing edebug-syntax-error "Condition expected in cond" 1 edebug-form edebug-forms "Right paren expected in cond"] 4 "\
  234. Return the edebug form of the cond form."])
  235. (byte-code "└┴┬├#ê└┴┬─#ç" [put condition-case edebug-form-spec (symbolp form &rest (symbolp &optional form)) edebug-condition-case-form] 4)
  236. (fset 'edebug-condition-case-form #[nil "└┬ ë9¼à├─    \"ê    )┼ └ë╚ ë╔=¼ñ╩=¼à├╦!¬Æ╠uê┬ ╚ ╔=?¡é═ B╠uêB¬Sƒ*BBç" [nil token edebug-read-sexp edebug-syntax-error "Variable or nil required for condition-case; found: %s" edebug-form class symb-sexp-list edebug-next-token-class rparen lparen "Bad handler in condition-case." 1 edebug-forms] 6 "\
  237. Return the edebug form of the condition-case form."])
  238. (defconst edebug-syntax-table (byte-code "└┴┬\"├ ╞W½ï ╟Iê Të¬q╚╔Iê╩╦Iê╠═Iê╬╧Iê╨╤Iê╥╙Iê╘╒Iê╓╫Iê*ç" [make-vector 256 symbol 0 i table 33 space 40 lparen 41 rparen 39 quote 34 string 63 char 91 vector 93 vector-end 46 dot] 4) "\
  239. Lookup table for significant characters indicating the class of the
  240. token that follows.  This is not a \"real\" syntax table.")
  241. (fset 'edebug-next-token-class #[nil "└ ê    gHç" [edebug-skip-whitespace edebug-syntax-table] 2 "\
  242. Move to the next token and return its class.  We only care about
  243. lparen, rparen, dot, quote, string, char, vector, or symbol."])
  244. (fset 'edebug-syntax-error #[(msg &rest args) "└┴┬├ #\"ç" [signal invalid-read-syntax apply format msg args] 6 "\
  245. Signal an invalid-read-syntax with MSG and ARGS.  
  246.    This is caught by edebug-defun."])
  247. (fset 'edebug-skip-whitespace #[nil "└┴wêg┬U¡è├┴wê└┴wê¬qç" ["     \n " nil 59 "^\n"] 2 "\
  248. Leave point before the next token, skipping white space and comments."])
  249. (fset 'edebug-read-sexp #[nil "└ ë┬=½Å├p! hH┬=¼¿┼uê¬ú    ╞=½ì├p!h╟U¼û┼uê¬æ    ╚=½ë╔uê╚╩ D¬â├p!)ç" [edebug-next-token-class class symbol read edebug-syntax-table -1 string 34 quote 1 edebug-read-sexp] 4 "\
  250. Read one sexp from the current buffer starting at point.
  251. Leave point immediately after it.  A sexp can be a list or atom.
  252. An atom is a symbol (or number), character, string, or vector."])
  253. (defvar edebug-active nil "\
  254. Non-nil when edebug is active")
  255. (byte-code "└    ₧¼å└┬D    B└ç" [edebug-active minor-mode-alist " *Debugging*"] 2)
  256. (defvar edebug-stack nil "\
  257. Stack of active functions evaluated via edebug.
  258. Should be nil at the top level.")
  259. (defvar edebug-stack-depth -1 "\
  260. Index of last edebug-stack item.")
  261. (defvar edebug-offset-indices nil "\
  262. Stack of offset indices of visited edebug sexps.
  263. Should be nil at the top level.")
  264. (defvar edebug-entered nil "\
  265. Non-nil if edebug has already been entered at this recursive edit level.
  266. This should stay nil at the top level.")
  267. (defvar edebug-mode 'step "\
  268. Current edebug mode set by user.")
  269. (fset 'edebug-enter #[(edebug-function edebug-args edebug-body) "¼à    ½é    ├ ┼N ╟N@     ╩N\n╦    ! B╨\\╥\\╒╓½ÿT╒█ ê ▌ ê*¬â .ç" [edebug-entered edebug-initial-mode edebug-mode t edebug-function edebug edebug-data edebug-after-index edebug-after-index-vector edebug-func-mark edebug-freq-count marker-buffer edebug-buffer edebug-stack edebug-offset-indices max-lisp-eval-depth 5 max-specpdl-size 15 executing-macro edebug-outside-executing-macro nil edebug-debug debugger edebug-trace edebug-stack-depth edebug-result edebug-print-trace-entry edebug-body edebug-print-trace-exit] 2 "\
  270. Entering FUNC.  The arguments are ARGS, and the body is BODY.
  271. Setup edebug variables and evaluate BODY.  This function is called
  272. when a function evaluated with edebug-defun is entered.  Return the
  273. result of BODY."])
  274. (byte-code "└┴Mê┬├Mç" [edebug-print-trace-entry #[nil "└┴┬├ ┼\"%ç" [edebug-trace-display "*edebug-trace*" "%s> %s args: %s\n" make-string edebug-stack-depth 45 edebug-function edebug-args] 6] edebug-print-trace-exit #[nil "└┴┬├ ┼\"%ç" [edebug-trace-display "*edebug-trace*" "%s< %s result: %s\n" make-string edebug-stack-depth 45 edebug-function edebug-result] 6]] 2)
  275. (fset 'edebug-display-freq-count #[nil "└ ë┬N    ├N    ┼Në@AA@ëGë    \n╦ ╦è\nSë\n╬Y½ê \nH╧U¼n\nH\\bê)╬yê` \nSë\n╬Y½╕╬ \nHW½n\n\nH\nH\\bê╬yê `U¼ìè bê╤╥\"cê)` )¬> bê╤╥\"c.\nç" [edebug-which-function edebug-function edebug-freq-count edebug-after-index edebug-after-index-vector edebug edebug-data edebug-func-mark edebug-points len i nil last-point last-count 0 -1 count format "%3d:"] 4 "\
  276. Display the frequency count in front of each line of the current function." nil])
  277. (fset 'edebug-before #[(edebug-before-index) "    B\n\nHTIê ─=½ä┼ ½å╞╟╚#ê    Hç" [edebug-before-index edebug-offset-indices edebug-freq-count edebug-mode Go-nonstop edebug-input-pending-p edebug-debugger enter nil edebug-after-index-vector] 4 "\
  278. Debug current function given BEFORE position.
  279. edebug-before is called from functions compiled with edebug-defun.  
  280. Return the after index corresponding to this before index."])
  281. (fset 'edebug-after #[(edebug-after-index edebug-value) "A    ┬=½å├ ¼é ç┼╟ #ç" [edebug-offset-indices edebug-mode Go-nonstop edebug-input-pending-p edebug-value edebug-debugger edebug-after-index exit] 4 "\
  282. Debug current function given AFTER position and VALUE.
  283. edebug is called from functions compiled with edebug-defun.
  284. Return VALUE."])
  285. (fset 'edebug-debugger #[(edebug-offset-index edebug-arg-mode edebug-exp) "┴\\\n├\\ A@₧ë¡ÅA@ë?«ä╔!)ë\n½ôAA@½î ╦\" AABíê ═>½ê╬ ¼ä\n½â╧ ê-ç" [max-lisp-eval-depth 1 max-specpdl-size 10 edebug-data edebug-breakpoints edebug-offset-index edebug-break-data edebug-break-condition eval edebug-break delq edebug-mode (go continue Continue-fast) edebug-input-pending-p edebug-display edebug-exp] 5 "\
  286. Check breakpoints and pending input.
  287. If edebug display should be updated, call edebug-display.
  288. Return edebug-exp."])
  289. (defvar edebug-window-start nil "\
  290. Remember where each buffers' window starts between edebug calls.
  291. This is to avoid spurious recentering.")
  292. (byte-code "└┴┬\"ê├┴!ç" [set-default edebug-window-start nil make-variable-buffer-local] 3)
  293. (defvar edebug-eval-list nil "\
  294. List of expressions to evaluate.")
  295. (defvar edebug-previous-result nil "\
  296. Last result returned from an expression.")
  297. (fset 'edebug-display #[nil "└┴\n AA@ H\\┴┼ p`┴╟ )┴ëë¡é╔ \n  ┴ëë  \n    █!¼è┴▐▀ \"ê)!½äΓ #½äΣ σ!ê┼ µ    !êτ!êbêΦ)!)Ω ½ëδ,└┘ êφ ê.∩=½ë01± ê¬│.▐=½ƒ≥ ê0@≤=½å⌠⌡!ꬥ⌠÷0@≈N0A@#ê¬Ä8½å⌠∙!ê¬ä⌠·!ê8½¥,√>¼à└¬¼,ⁿ=½å²■!ê¬á² !ê¬Ü,ü@=½å²■!ê¬î,üA=½ä² !êüBļî,δ=¼å.▐=¡èδ,φ êüC .ç" [t nil edebug-func-mark edebug-data edebug-offset-index selected-window zmacs-regions mark edebug-eval-list edebug-eval-result-list overlay-arrow-position overlay-arrow-string cursor-in-echo-area edebug-outside-c-i-e-a edebug-outside-o-a-s edebug-outside-o-a-p edebug-eval-buffer edebug-buffer-points edebug-outside-windows edebug-outside-mark edebug-outside-point edebug-outside-buffer edebug-outside-window edebug-window edebug-point edebug-stop edebug-active buffer-name edebug-buffer debug-on-error error "Buffer defining %s not found." edebug-function edebug-save-windows edebug-current-window-configuration edebug-save-displayed-buffer-points edebug-get-displayed-buffer-points edebug-pop-to-buffer edebug-eval-display select-window edebug-adjust-window edebug-window-start edebug-input-pending-p step edebug-mode edebug-overlay-arrow edebug-arg-mode exit edebug-exp edebug-previous-result beep quit message "Quit" "%s: %s" error-message edebug-break "Break" "" (continue Continue-fast) continue edebug-sit-for 1 0 trace Trace-fast ((byte-code "└    !ë½ç    qê├\n!½Ö╞!ê└    !ë½ÿè    qê╚\n ╔#ê)¬ï╩ !½à╠ !ê½à╬!êqêbê╥╘╒ !½ç╒ ╥ôê)╥ç" [edebug-get-buffer-window edebug-buffer edebug-window window-start edebug-window-start edebug-save-windows edebug-set-window-configuration edebug-outside-windows set-window-start no-force window-point edebug-outside-window select-window edebug-save-displayed-buffer-points edebug-set-buffer-points edebug-buffer-points edebug-outside-buffer edebug-outside-point nil zmacs-regions marker-buffer mark-marker edebug-outside-mark] 5)) edebug-recursive-edit] 18 "\
  298. Setup windows for edebug, determine mode, maybe enter recursive-edit."])
  299. (defvar edebug-depth 0 "\
  300. Number of recursive edits started by edebug.
  301. Should be 0 at the top level.")
  302. (defvar edebug-recursion-depth 0 "\
  303. Value of recursion-depth when edebug was called.")
  304. (fset 'edebug-recursive-edit #[nil "è    qê┬ ) T─ ┼ëë╞     \n  ═╬!¡é═╧!¡é═╨!¡é═╤!¡é    \n  ╥┼ëë  \n     !\"#$σµ!½âµ ê'Φ=½è)Ω>¼äδ∞!êτ ê═φ!½ä-ε∩Ä≡ .ç" [buffer-read-only edebug-outside-buffer match-data edebug-depth recursion-depth nil current-local-map standard-output standard-input last-command-char last-command this-command last-input-char boundp unread-command-char last-input-event last-command-event unread-command-event -1 debug-on-error edebug-outside-unread-command-event edebug-outside-last-command-event edebug-outside-last-input-event edebug-outside-unread-command-char edebug-outside-last-input-char edebug-outside-this-command edebug-outside-last-command edebug-outside-last-command-char edebug-outside-standard-input edebug-outside-standard-output edebug-outside-map edebug-inside-windows edebug-backtrace-buffer edebug-entered edebug-recursion-depth edebug-outside-match-data edebug-buffer-read-only fboundp zmacs-deactivate-region edebug-mode go edebug-arg-mode (exit error) message "Break" edebug-outside-debug-on-error t ((byte-code "½ä┴!ê\n½ä┴\n!ê├ !ê┼!½ÿqê╚>½â╔ ê\n ╠!ê¬ä╬╧!ê┴ç" [edebug-backtrace-buffer kill-buffer edebug-eval-buffer store-match-data edebug-outside-match-data buffer-name edebug-buffer edebug-mode (go Go-nonstop) edebug-overlay-arrow edebug-buffer-read-only buffer-read-only use-local-map edebug-outside-map get-buffer-create " bogus edebug buffer"] 2)) recursive-edit] 27 "\
  305. Start up a recursive edit inside of edebug."])
  306. (fset 'edebug-adjust-window #[(old-start) "½å┴┬ \"ê├ ¼¢┴┬ è`─ W½â┼¬à╞ ╟Ñ[yê╚yê`)\"ê─ ç" [old-start set-window-start selected-window pos-visible-in-window-p window-start -1 window-height 2 0] 4 "\
  307. If pos is not visible, adjust current window to fit following context."])
  308. (defconst edebug-arrow-alist '((Continue-fast . ">") (Trace-fast . ">") (continue . ">") (trace . "->") (step . "=>") (go . "<>") (Go-nonstop . "..")) "\
  309. Association list of arrows for each edebug mode.
  310. If you come up with arrows that make more sense, let me know.")
  311. (fset 'edebug-overlay-arrow #[nil "└è┬yê`) ₧A╞ ë    pô)ç" [nil pos 0 edebug-mode edebug-arrow-alist overlay-arrow-string make-marker overlay-arrow-position] 4 "\
  312. Set up the overlay arrow at beginning-of-line in current buffer.
  313. The arrow string is derived from edebug-arrow-alist and edebug-mode."])
  314. (fset 'edebug-toggle-save-windows #[nil "?ë½à┴ ë─┼½â╞¬ü╟\"ç" [edebug-save-windows edebug-current-window-configuration edebug-outside-windows edebug-inside-windows message "Window saving is %s." "on" "off"] 3 "\
  315. Toggle the edebug-save-windows variable.
  316. Each time you toggle it, the inside and outside window configurations
  317. become the same as the current configuration." nil])
  318. (fset 'edebug-where #[nil "¼ä┴┬!ê├ !êbç" [edebug-active error "edebug is not active." edebug-pop-to-buffer edebug-buffer edebug-point] 2 "\
  319. Show the debug windows and where we stopped in the program." nil])
  320. (fset 'edebug-view-outside #[nil "¼ä┴┬!ê├ ┼!êbê╚╔╩╦!\"ç" [edebug-active error "edebug is not active." edebug-current-window-configuration edebug-inside-windows edebug-set-window-configuration edebug-outside-windows edebug-outside-point message "Window configuration outside of edebug.  Return with %s" substitute-command-keys "\\<global-map>\\[edebug-where]"] 4 "\
  321. Change to the outside window configuration." nil])
  322. (fset 'edebug-bounce-point #[nil "¼ä┴┬!êè├ï)ç" [edebug-active error "edebug is not active." ((byte-code "└    !ê\nbê├┼╞ !½è╟╚p`╞ $ê¬å╟╔p`#ê)╩╦!ê└ !ç" [edebug-pop-to-buffer edebug-outside-buffer edebug-outside-point nil zmacs-regions marker-buffer mark-marker message "Current buffer: %s Point: %s Mark: %s" "Current buffer: %s point: %s" edebug-sit-for 1 edebug-buffer] 5))] 2 "\
  323. Bounce the point in the outside current buffer." nil])
  324. (fset 'edebug-find-stop-point #[nil "└ ë┬N«ä├─    \"ë@A@AA@è╔╩!½ä╦╠xê`)Z╠╠G╨╨W½ÆHV½êTë¬iW½ÉHX½å    B¬ä╤╥    \".ç" [edebug-which-function def-name edebug error "%s must first be evaluated with edebug-defun." edebug-data edebug-func-mark edebug-breakpoints offset-vector looking-at "[     ]" "     " nil offset len i 0 message "Point is not on an expression in %s."] 4 "\
  325. Return (function . index) of the nearest edebug stop point."])
  326. (fset 'edebug-next-breakpoint #[nil "└ ë¡°    @    A\n─Në@A@AA@╔\n¼à╦╠!¬╤ë½É@@ X½êAë¼p½à@¬â@\n\n@H\\bê╦\nAA@½â╬¬ü╧\nA@½ï╨╤╥\nA@!\"¬ü╧P!).)ç" [edebug-find-stop-point edebug-stop-point def-name index edebug edebug-data edebug-func-mark edebug-breakpoints offset-vector nil breakpoint message "No breakpoints in this function." breaks "Temporary " "" format "Condition: %s" edebug-prin1-to-string] 7 "\
  327. Move point to the next breakpoint, or first if none past point." nil])
  328. (fset 'edebug-modify-breakpoint #[(flag &optional condition temporary) "└ ë¡σ    @    A\n─Në@A@AA@╔\n ₧\n╦\n\" ½ò═ EB╨\"╤╥\n\"ê¬Å\n½ç╤╙\n\"ê¬ä╤╘!êAABíê H\\b.)ç" [edebug-find-stop-point edebug-stop-point def-name index edebug edebug-data edebug-func-mark edebug-breakpoints offset-vector nil present delq flag edebug-sort-alist condition temporary < message "Breakpoint set in %s." "Breakpoint unset in %s." "No breakpoint here."] 5 "\
  329. Modify the breakpoint for the form at point or after it according
  330. to FLAG: set if t, clear if nil.  Then move to that point.
  331. If CONDITION or TEMPORARY are non-nil, add those attributes to
  332. the breakpoint.  "])
  333. (fset 'edebug-set-breakpoint #[(arg) "└┴┬ #ç" [edebug-modify-breakpoint t nil arg] 4 "\
  334. Set the breakpoint of nearest sexp.
  335. With prefix argument, make it a temporary breakpoint." "P"])
  336. (fset 'edebug-unset-breakpoint #[nil "└┴!ç" [edebug-modify-breakpoint nil] 2 "\
  337. Clear the breakpoint of nearest sexp." nil])
  338. (fset 'edebug-set-conditional-breakpoint #[(arg condition) "└┴\n #ç" [edebug-modify-breakpoint t condition arg] 4 "\
  339. Set a conditional breakpoint at nearest sexp.
  340. The condition is evaluated in the outside context.
  341. With prefix argument, make it a temporary breakpoint." "P\nxCondition: "])
  342. (fset 'edebug-set-mode #[(mode shortmsg msg) "┬ W½ìp =¡î┼!ê╟ ç┼!ç" [mode edebug-mode 0 edebug-depth edebug-buffer message shortmsg exit-recursive-edit msg] 2 "\
  343. Set the edebug mode to MODE.
  344. Display SHORTMSG, or MSG if not within edebug." nil])
  345. (fset 'edebug-step-through-mode #[nil "└┴┬├#ç" [edebug-set-mode step "" "edebug will stop before next eval."] 4 "\
  346. Proceed to next debug step." nil])
  347. (fset 'edebug-go-mode #[(arg) "½ä┴┬!ê├─┼╞#ç" [arg edebug-set-breakpoint t edebug-set-mode go "Go..." "edebug will go until break."] 4 "\
  348. Go, evaluating until break.
  349. With ARG set temporary break at stop point and go." "P"])
  350. (fset 'edebug-Go-nonstop-mode #[nil "└┴┬├#ç" [edebug-set-mode Go-nonstop "Go-Nonstop..." "edebug will not stop at breaks."] 4 "\
  351. Go, evaluating without debugging." nil])
  352. (fset 'edebug-trace-mode #[nil "└┴┬├#ç" [edebug-set-mode trace "Tracing..." "edebug will trace with pause."] 4 "\
  353. Begin trace mode." nil])
  354. (fset 'edebug-Trace-fast-mode #[nil "└┴┬├#ç" [edebug-set-mode Trace-fast "Trace fast..." "edebug will trace without pause."] 4 "\
  355. Trace with no wait at each step." nil])
  356. (fset 'edebug-continue-mode #[nil "└┴┬├#ç" [edebug-set-mode continue "Continue..." "edebug will pause at breakpoints."] 4 "\
  357. Begin continue mode." nil])
  358. (fset 'edebug-Continue-fast-mode #[nil "└┴┬├#ç" [edebug-set-mode Continue-fast "Continue fast..." "edebug will stop and go at breakpoints."] 4 "\
  359. Trace with no wait at each step." nil])
  360. (fset 'edebug-goto-here #[nil "└┴!ç" [edebug-go-mode t] 2 "\
  361. Proceed to this stop point." nil])
  362. (fset 'edebug-stop #[nil "└┴!ç" [message "Stop"] 2 "\
  363. Stop execution and do not continue.
  364. Useful for exiting from trace loop." nil])
  365. (fset 'edebug-forward-sexp #[(arg) "└┴┬Åç" [err (byte-code "└┬ !ê─└!)ç" [t parse-sexp-ignore-comments forward-sexp arg edebug-go-mode] 2) ((error (edebug-step-out)))] 3 "\
  366. Proceed from the current point to the end of the ARGth sexp ahead.
  367. If there are not ARG sexps ahead, then do edebug-step-out." "p"])
  368. (fset 'edebug-step-out #[nil "└┴┬Åç" [err (byte-code "└┬├!êè┬├!ê)─└!)ç" [t parse-sexp-ignore-comments up-list 1 edebug-go-mode] 2) ((error (byte-code "`┴┬!ê`U½ä├ ¬â─┼!)ç" [start-point down-list -1 edebug-step-through-mode edebug-go-mode t] 2)))] 3 "\
  369. Proceed from the current point to the end of the containing sexp.
  370. If there is no containing sexp that is not the top level defun,
  371. go to the end of the last sexp, or if that is the same point, then step." nil])
  372. (fset 'edebug-step-in #[nil "┴=¼ä┬├!ê─ëè╟ ê╚uê╔p!)╩N╦!½Åè╠!qêbê═ ê)¬è<¼å┬╬\"ê*╧ ç" [edebug-arg-mode enter error "You must be in front of a function or macro call." nil func-marker func edebug-where 1 read edebug markerp marker-buffer edebug-defun "First please eval the def of %s so edebug knows where it is." exit-recursive-edit] 3 "\
  373. Step into the function about to be called.
  374. Do this before the arguments are evaluated since otherwise it will be
  375. too late.  One side effect of using edebug-step-in is that the next
  376. time the function is called, edebug will be called there as well." nil])
  377. (put 'edebug-outside-excursion 'edebug-form-spec 'edebug-forms)
  378. (fset 'edebug-outside-excursion '(macro . #[(&rest body) "└┴┬├─┼╞╟╚    \"╩EE»ç" [save-excursion (if edebug-save-windows (progn (setq edebug-inside-windows (edebug-current-window-configuration)) (edebug-set-window-configuration edebug-outside-windows))) (set-buffer edebug-buffer) (store-match-data edebug-outside-match-data) let ((edebug-inside-map (current-local-map)) (last-command-char edebug-outside-last-command-char) (last-command-event edebug-outside-last-command-event) (last-command edebug-outside-last-command) (this-command edebug-outside-this-command) (unread-command-char edebug-outside-unread-command-char) (unread-command-event edebug-outside-unread-command-event) (last-input-char edebug-outside-last-input-char) (last-input-event edebug-outside-last-input-event) (overlay-arrow-position edebug-outside-o-a-p) (overlay-arrow-string edebug-outside-o-a-s) (cursor-in-echo-area edebug-outside-c-i-e-a) (standard-output edebug-outside-standard-output) (standard-input edebug-outside-standard-input) (executing-macro edebug-outside-executing-macro)) unwind-protect append (save-excursion (set-buffer edebug-outside-buffer) (goto-char edebug-outside-point) (let ((zmacs-regions nil)) (if (marker-buffer (mark-marker)) (set-marker (mark-marker) edebug-outside-mark)))) body (if edebug-save-windows (edebug-set-window-configuration edebug-inside-windows))] 10 "\
  379. Evaluate an expression list in the outside context.
  380. Return the result of the last expression."]))
  381. (fset 'edebug-previous-result #[nil "└┴─┼╞!\"*ç" [t 50 print-length print-escape-newlines message "Result: %s" edebug-prin1-to-string edebug-previous-result] 4 "\
  382. Return the previous result." nil])
  383. (fset 'edebug-eval #[(expr) "¼ä┴┬!êè ½ê─ ╞!êqê╔\n!ê╦   !\"#$%&'(ΘÄè*qê+bê∞-ε∩ !½ç∩ 0∞ôê)±2!.ç" [edebug-active error "edebug is not active." edebug-save-windows edebug-current-window-configuration edebug-inside-windows edebug-set-window-configuration edebug-outside-windows edebug-buffer store-match-data edebug-outside-match-data current-local-map edebug-outside-last-command-char edebug-outside-last-command-event edebug-outside-last-command edebug-outside-this-command edebug-outside-unread-command-char edebug-outside-unread-command-event edebug-outside-last-input-char edebug-outside-last-input-event edebug-outside-o-a-p edebug-outside-o-a-s edebug-outside-c-i-e-a edebug-outside-standard-output edebug-outside-standard-input edebug-outside-executing-macro executing-macro standard-input standard-output cursor-in-echo-area overlay-arrow-string overlay-arrow-position last-input-event last-input-char unread-command-event unread-command-char this-command last-command last-command-event last-command-char edebug-inside-map ((byte-code "½ä┴\n!ê┴ç" [edebug-save-windows edebug-set-window-configuration edebug-inside-windows] 2)) edebug-outside-buffer edebug-outside-point nil zmacs-regions marker-buffer mark-marker edebug-outside-mark eval expr] 15 "\
  384. Evaluate EXPR in the outside environment."])
  385. (fset 'edebug-eval-expression #[(expr) "└┴\n!!ç" [edebug-prin1 edebug-eval expr] 3 "\
  386. Prompt and evaluate an expression in the outside environment.  
  387. Print result in minibuffer." "xEval: "])
  388. (fset 'edebug-eval-last-sexp #[nil "└┴┬ !!ç" [edebug-prin1 edebug-eval edebug-last-sexp] 3 "\
  389. Evaluate sexp before point in the outside environment;
  390. print value in minibuffer." nil])
  391. (fset 'edebug-eval-print-last-sexp #[nil "p┴┬├─Å!)ç" [standard-output edebug-print err (byte-code "└┴ !ç" [edebug-eval edebug-last-sexp] 2) ((error (byte-code "└┴\n@├N\nA@#ç" [edebug-format "%s: %s" err error-message] 4)))] 4 "\
  392. Evaluate sexp before point in the outside environment; 
  393. print value into current buffer." nil])
  394. (byte-code "└┴!¼é┬    ä╜├ !┼    ╞╟#ê┼    ╚╔#ê┼    ╩╦#ê┼    ╠═#ê┼    ╬╧#ê┼    ╨╤#ê┼    ╥╙#ê┼    ╘╒#ê┼    ╓╫#ê┼    ╪┘#ê┼    ┌█#ê┼    ▄▌#ê┼    ▐▀#ê┼    αß#ê┼    Γπ#ê┼    Σσ#ê┼    µτ#ê┼    ΦΘ#ê┼    Ωδ#ê┼    ∞φ#ê┼    ε∩#ê┼    ≡±#ê┼    ≥≤#ê┼    ⌠⌡#ê┼    ÷≈#ê┼    °∙#ê┼    ·√#ê┼    ⁿ²#ê┼    ■ #ê┬ç" [boundp edebug-mode-map nil copy-keymap emacs-lisp-mode-map define-key " " edebug-step-through-mode "g" edebug-go-mode "G" edebug-Go-nonstop-mode "t" edebug-trace-mode "T" edebug-Trace-fast-mode "c" edebug-continue-mode "C" edebug-Continue-fast-mode "f" edebug-forward-sexp "h" edebug-goto-here "r" edebug-previous-result "i" edebug-step-in "o" edebug-step-out "q" top-level "a" abort-recursive-edit "S" edebug-stop "b" edebug-set-breakpoint "u" edebug-unset-breakpoint "B" edebug-next-breakpoint "x" edebug-set-conditional-breakpoint "e" edebug-eval-expression "" edebug-eval-last-sexp "E" edebug-visit-eval-list "w" edebug-where "v" edebug-view-outside "p" edebug-bounce-point "W" edebug-toggle-save-windows "?" edebug-help "d" edebug-backtrace "-" negative-argument] 4)
  395. (defvar global-edebug-prefix "X" "\
  396. Prefix key for global edebug commands, available from any buffer.")
  397. (defvar global-edebug-map nil "\
  398. Global map of edebug commands, available from any buffer.")
  399. (byte-code "¼╘┴ ┬ !ê─ \"ê┼╞╟#ê┼╚╔#ê┼╩╦#ê┼╠═#ê┼╬╧#ê┼╨╤#ê┼╥╙#ê┼╘╒#ê┼╓╫#ê┼╪┘#ê┼┌█#ê┼▄▌#ê▐▀Mç" [global-edebug-map make-sparse-keymap global-unset-key global-edebug-prefix global-set-key define-key " " edebug-step-through-mode "g" edebug-go-mode "G" edebug-Go-nonstop-mode "t" edebug-trace-mode "T" edebug-Trace-fast-mode "c" edebug-continue-mode "C" edebug-Continue-fast-mode "b" edebug-set-breakpoint "x" edebug-set-conditional-breakpoint "u" edebug-unset-breakpoint "w" edebug-where "q" top-level edebug-help #[nil "└┴!ç" [describe-function edebug-mode] 2 nil nil]] 4)
  400. (fset 'edebug-mode #[nil "└    !ç" [use-local-map edebug-mode-map] 2 "\
  401. Mode for Emacs Lisp buffers while in edebug.
  402.  
  403. There are both buffer local and global key bindings to several
  404. functions.  E.g. edebug-step-through is bound to
  405. \\[edebug-step-through] in the debug buffer and \\<global-map>\\[edebug-step-through] in any buffer.
  406.  
  407. Also see bindings for the eval list buffer, *edebug*.
  408.  
  409. The edebug buffer commands:
  410. \\{edebug-mode-map}
  411.  
  412. Global commands prefixed by global-edbug-prefix:
  413. \\{global-edebug-map}
  414.  
  415. Options:
  416. edebug-all-defuns
  417. edebug-eval-macro-args
  418. edebug-stop-before-symbols
  419. edebug-save-windows
  420. edebug-save-displayed-buffer-points
  421. edebug-initial-mode
  422. edebug-trace
  423. "])
  424. (fset 'edebug-eval-result-list #[nil "└┴\n\"ç" [mapcar #[(expr) "└┴┬Åç" [err (eval expr) ((error (byte-code "└┴\n@├N\nA@#ç" [edebug-format "%s: %s" err error-message] 4)))] 3] edebug-eval-list] 3 "\
  425. Return a list of evaluations of edebug-eval-list"])
  426. (byte-code "└┴Mê┬├Mç" [edebug-eval-display-list #[(edebug-eval-result-list) "    ┬├─┼ ╞Z╟\"\"    \n╦    !ê╠ ê\n¡ú═\n@!ê╬ ê╧@!ê╬ ê╤!ê\nA\nA¬Y+ç" [edebug-eval-list edebug-eval-buffer format ";%s\n" make-string window-width 2 45 edebug-display-line standard-output edebug-eval-list-temp edebug-pop-to-buffer erase-buffer prin1 terpri edebug-prin1 edebug-eval-result-list princ] 7] edebug-create-eval-buffer #[nil "¡â┴!?¡ë┬├!ëqê─ ç" [edebug-eval-buffer buffer-name get-buffer-create "*edebug*" edebug-eval-mode] 2]] 2)
  427. (fset 'edebug-eval-display #[(edebug-eval-result-list) "¡è┴ ê┬ !ê─!ç" [edebug-eval-result-list edebug-create-eval-buffer edebug-pop-to-buffer edebug-eval-buffer edebug-eval-display-list] 2 "\
  428. Display expressions and evaluations in EVAL-LIST.
  429. It modifies the context by popping up the eval display."])
  430. (fset 'edebug-eval-redisplay #[nil "└ ê┴\n!êè ½ê─ ╞!êqê╔\n!ê╦   !\"#$%&'(ΘÄè*qê+bê∞-ε∩ !½ç∩ 0∞ôê)±≥ !.ç" [edebug-create-eval-buffer edebug-pop-to-buffer edebug-eval-buffer edebug-save-windows edebug-current-window-configuration edebug-inside-windows edebug-set-window-configuration edebug-outside-windows edebug-buffer store-match-data edebug-outside-match-data current-local-map edebug-outside-last-command-char edebug-outside-last-command-event edebug-outside-last-command edebug-outside-this-command edebug-outside-unread-command-char edebug-outside-unread-command-event edebug-outside-last-input-char edebug-outside-last-input-event edebug-outside-o-a-p edebug-outside-o-a-s edebug-outside-c-i-e-a edebug-outside-standard-output edebug-outside-standard-input edebug-outside-executing-macro executing-macro standard-input standard-output cursor-in-echo-area overlay-arrow-string overlay-arrow-position last-input-event last-input-char unread-command-event unread-command-char this-command last-command last-command-event last-command-char edebug-inside-map ((byte-code "½ä┴\n!ê┴ç" [edebug-save-windows edebug-set-window-configuration edebug-inside-windows] 2)) edebug-outside-buffer edebug-outside-point nil zmacs-regions marker-buffer mark-marker edebug-outside-mark edebug-eval-display-list edebug-eval-result-list] 15 "\
  431. Redisplay eval list in outside environment.
  432. May only be called from within edebug-recursive-edit."])
  433. (fset 'edebug-visit-eval-list #[nil "└ ê┴\n!ç" [edebug-eval-redisplay edebug-pop-to-buffer edebug-eval-buffer] 2 nil nil])
  434. (fset 'edebug-update-eval-list #[nil "`└ebê├ êm¼ë─┼!ê╞     B╟╚└╔#½Ü┼yê╩└wêg╦U¼mm¼j─┼!ê╞     B¬_    ƒ ═ ê\nb*ç" [nil new-list starting-point edebug-skip-whitespace forward-sexp 1 edebug-last-sexp re-search-forward "^;" t "     \n" 59 edebug-eval-list edebug-eval-redisplay] 4 "\
  435. Replace the evaluation list with the sexps now in the eval buffer." nil])
  436. (fset 'edebug-delete-eval-item #[nil "└┴┬├#½â─yê`┼┴┬├#ê╞yê`|ê╟ ç" [re-search-backward "^;" nil nofail 1 re-search-forward 0 edebug-update-eval-list] 5 "\
  437. Delete the item under point and redisplay." nil])
  438. (defvar edebug-eval-mode-map nil "\
  439. Keymap for edebug-eval-mode.  Superset of lisp-interaction-mode.")
  440. (byte-code "¼ó┴\n!├─┼#ê├╞╟#ê├╚╔#ê├╩╦#ê├╠═#ê┴ç" [edebug-eval-mode-map copy-keymap lisp-interaction-mode-map define-key "" edebug-where "" edebug-delete-eval-item "" edebug-update-eval-list "" edebug-eval-last-sexp "\n" edebug-eval-print-last-sexp] 4)
  441. (fset 'edebug-eval-mode #[nil "└ ê┴├┼!ç" [lisp-interaction-mode edebug-eval-mode major-mode "Edebug-Eval" mode-name use-local-map edebug-eval-mode-map] 2 "\
  442. Mode for data display buffer while in edebug.  Under construction.
  443. ... ignore the following...
  444. There are both buffer local and global key bindings to several
  445. functions.  E.g. edebug-step-through is bound to
  446. \\[edebug-step-through] in the debug buffer and
  447. \\<global-map>\\[edebug-step-through] in any buffer.
  448.  
  449. Eval list buffer commands:
  450. \\{edebug-eval-mode-map}
  451.  
  452. Global commands prefixed by global-edbug-prefix:
  453. \\{global-edebug-map}
  454. "])
  455. (fset 'edebug-debug #[(&rest debugger-args) "½Ñ┴ \n=½ƒ @ @ A@┼ë┼    \n  ═ .ç╬╧ \"ç" [edebug-entered recursion-depth edebug-recursion-depth edebug-offset-indices debugger-args nil debug-on-error edebug-outside-debug-on-eror edebug-break edebug-break-data edebug-exp edebug-arg-mode edebug-offset-index edebug-display apply debug] 7 "\
  456. Replacement for debug.  
  457. If an error or quit occurred and we are running an edebugged function,
  458. show where we last were.  Otherwise call debug normally."])
  459. (fset 'edebug-backtrace #[nil "p    ¼ç┬─┼!)╞    !ê╟ êp╚╔╩  ╚╨ êebê`╤╥!ê╙yê`|ê╙yê` ╤╥╩╚#½í╘╒!½îè bê╓yê` )╙yê `|ê╙yê` ¬X,╞!)ç" [old-buf edebug-backtrace-buffer fundamental-mode default-major-mode generate-new-buffer "*Backtrace*" edebug-pop-to-buffer erase-buffer t 50 nil last-ok-point print-length print-escape-newlines standard-output truncate-lines backtrace re-search-forward "^  edebug" 1 looking-at "-enter" -1] 4 "\
  460. Display a non-working backtrace.  Better than nothing..." nil])
  461. (fset 'edebug-trace-display #[(buf-name fmt &rest args) "└ ┴\n!─╞ !êè└  qêdbê╟╚    \n#cê╦`\"ê╠═!Zyê╬`\"ê╧ !ê)╨!ê+\nç" [selected-window get-buffer-create buf-name buffer nil buf-window edebug-pop-to-buffer apply edebug-format fmt args set-window-point 1 window-height set-window-start bury-buffer select-window] 4 "\
  462. In buffer BUF-NAME, display FMT and ARGS at the end and make it visible.
  463. The buffer is created if it does not exist.
  464. You must include newlines in FMT to break lines."])
  465. (fset 'edebug-trace #[(fmt &rest args) "└┴┬ $ç" [apply edebug-trace-display "*edebug-trace*" fmt args] 5 "\
  466. Convenience call to edebug-trace-display for buffer *edebug-trace*"])
  467.